package com.learn.english.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.*;
import org.apache.ibatis.type.JdbcType;

import java.time.LocalDateTime;
import java.util.List;


@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("knowledge_base")
public class KnowledgeBase {

    /**
     * 主键 ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 知识分类 ID
     */
    @TableField("category_id")
    private Integer categoryId;

    /**
     * 上传知识条目的作者 ID
     */
    @TableField("author_id")
    private Integer authorId;

    /**
     * 知识条目简述（标题）
     */
    @TableField("title")
    private String title;

    /**
     * 知识文本内容
     */
    @TableField("content")
    private String content;

    /**
     * 知识标签信息
     */
    @TableField(value = "tag", typeHandler = JacksonTypeHandler.class)
    private List<String> tag;

    /**
     * 创建时间，默认当前时间
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间，默认当前时间，更新时自动更新
     */
    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
    private Double similarityScore;
}